package DAO;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import Model.Paciente;
import Model.TipoCapilar;
import Utils.Conexao;

import com.mysql.jdbc.CallableStatement;
import com.mysql.jdbc.PreparedStatement;

public class TipoCapilarDAO {	
	public static ArrayList<TipoCapilar> GetArrayListTipoCapilar()
	{
		ArrayList<TipoCapilar> arrTipoCapilar = new ArrayList<TipoCapilar>(); 
		Connection con  = Conexao.getConection();
		try
		{
			String mysqlCall = "call spc_select_tipos_capilares()";			
			CallableStatement call = (CallableStatement) con.prepareCall(mysqlCall);
			ResultSet rs = call.executeQuery();
			
			while(rs.next())
			{
				TipoCapilar tipo_capilar = TipoCapilarDAO.setInstance(rs);
				arrTipoCapilar.add(tipo_capilar);
			}
			
			con.close();
			call.close();
		}
		catch(Exception ex)
		{
			ex.printStackTrace();
		}	
		
		return arrTipoCapilar;
	}
	
	public static TipoCapilar LoadObject(int idTipoCapilar) throws SQLException	
	{
		TipoCapilar tipoCapilar = new TipoCapilar();
		Connection con = Conexao.getConection();
		String mysqlCall = "call spc_select_tipo_capilar_por_id(?)";
		CallableStatement call =(CallableStatement) con.prepareCall(mysqlCall);
		call.setInt(1, idTipoCapilar);		
		ResultSet res = call.executeQuery();
		
		if(res.next())
			tipoCapilar = TipoCapilarDAO.setInstance(res);
		
		call.close();
		con.close();
		return tipoCapilar;
	}
	
	
	
	public static TipoCapilar setInstance(ResultSet res) throws SQLException
	{
		TipoCapilar tipo_capilar = new TipoCapilar();
		tipo_capilar.setIdTipoCapilar(res.getInt("id_tipo_capilar"));
		tipo_capilar.setNome_tipo(res.getString("nome_tipo"));
		return tipo_capilar;		
	}
}
